home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib15.dsk
/
BOUNCING NUMBERS.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
8KB
|
180 lines
1 REM **********************
2 REM * BOUNCING NUMBERS *
3 REM * BY KEVIN D. RILEY *
4 REM * COPYRIGHT (C) 1983 *
5 REM * BY MICROSPARC, INC *
6 REM * LINCOLN, MA. 01773 *
7 REM **********************
10 TEXT : HOME : VTAB 12: PRINT "** COPYRIGHT 1983 BY MICROSPARC, INC. **": PRINT CHR$(4);"BLOAD MSOUND"
15 PRINT CHR$(4);"BLOAD NUMBER TABLE": HIMEM: 8192: DIM A(11):A = 37: HOME : SPEED= 0:SN = -16336
20 FOR I = 3 TO 10: HTAB I: VTAB 10
25 PRINT "*":SO = PEEK(SN) - PEEK(SN):A = A -2: HTAB (I +A): VTAB 10: PRINT "*":SO = PEEK(SN) - PEEK(SN)
30 NEXT I: SPEED= 255
35 VTAB 10: HTAB 12: PRINT "NUMBER RECOGNITION"
40 FOR L = 1 TO 11: FOR T = 1 TO 500: NEXT T: CALL -912
45 SO = PEEK(SN) - PEEK(SN): NEXT L
50 HOME : PRINT "THIS IS NUMBER RECOGNITION FOR"
55 PRINT "PRESCHOOLERS. THE IDEA OF THIS PROGRAM": PRINT "IS TO TEACH PRESCHOOLERS HOW TO"
60 PRINT "RECOGNIZE NUMBER SHAPES."
65 PRINT "A RANDOM NUMBER WILL APPEAR. SAY THE"
70 PRINT "NUMBER TO THE CHILD; HAVE THE CHILD SAY"
75 PRINT "IT BACK.": PRINT "NOW LET THE CHILD FIND THE RIGHT KEYS"
80 PRINT "TO MAKE UP THE NUMBER. AFTER PRESSING": PRINT "THE RIGHT KEYS A NEW NUMBER WILL COME UP"
85 VTAB 22: PRINT "*** HIT ANY KEY TO CONTINUE ***": GET A$
90 HOME : HTAB 8: VTAB 10: PRINT "TYPE IN THE (+) CHARACTER"
95 HTAB 11: VTAB 12: PRINT "TO END THE PROGRAM."
100 VTAB 22: PRINT "*** HIT ANY KEY TO CONTINUE ***": GET A$
105 HOME : VTAB 12: PRINT "HOW MANY GUESSES AT EACH NUMBER WOULD": PRINT "YOU LIKE."
110 PRINT : INPUT "INPUT NUMBER OF GUESSES (1 TO 5) AND HIT RETURN";G: PRINT : PRINT
115 IF (G >0) AND (G <6) THEN 125
120 PRINT "THAT WAS NOT BETWEEN 1 AND 5": FOR T = 1 TO 2000: NEXT T: GOTO 105
125 HOME : HTAB 7: VTAB 11: PRINT "DO YOU WANT MUSIC (YES / NO)?": GET Z$
130 IF (Z$ = "N") OR (Z$ = "Y") THEN 140
135 GOTO 125
139 REM ***** DRAW MOUSE *****
140 POKE 232,1: POKE 233,96: HGR2 : TEXT : HOME : HCOLOR= 3
145 HPLOT 75,106 TO 76,111 TO 79,119 TO 90,128 TO 105,133 TO 118,133 TO 124,138 TO 129,140 TO 136,146 TO 142,145 TO 148,134
150 HPLOT 145,140 TO 154,138 TO 165,132 TO 182,118 TO 187,110 TO 189,102 TO 189,93 TO 193,102 TO 200,107 TO 217,111
155 HPLOT 217,111 TO 237,107 TO 247,99 TO 250,81 TO 245,71 TO 236,65 TO 222,60 TO 211,62 TO 201,66 TO 196,70 TO 190,78
160 HPLOT 190,78 TO 188,70 TO 186,66 TO 180,60 TO 188,59 TO 199,60 TO 211,56 TO 216,46 TO 215,35 TO 207,24 TO 192,15
165 HPLOT 192,15 TO 178,11 TO 165,11 TO 155,15 TO 149,23 TO 147,33 TO 150,41 TO 155,48 TO 146,44 TO 129,40 TO 140,46 TO 133,44
170 HPLOT 133,44 TO 123,46 TO 131,48 TO 124,51 TO 115,54 TO 105,61 TO 96,75 TO 94,84 TO 94,93 TO 89,92 TO 82,95
175 HPLOT 82,95 TO 79,89 TO 76,87 TO 70,87 TO 66,91 TO 65,98 TO 70,103 TO 75,106 TO 80,107 TO 85,103 TO 83,94
180 HPLOT 95,92 TO 102,95 TO 109,100 TO 112,105 TO 115,110
185 HPLOT 117,130 TO 125,128 TO 134,125 TO 140,120 TO 140,115 TO 140,124 TO 143,130 TO 141,135 TO 138,140 TO 136,139 TO 131,135 TO 133,125
190 HPLOT 142,129 TO 137,132 TO 138,135 TO 136,131 TO 132,135
195 HPLOT 131,116 TO 137,114 TO 144,115 TO 149,117
200 HPLOT 160,135 TO 166,122 TO 170,111 TO 167,104 TO 161,99 TO 153,97 TO 142,100 TO 128,105 TO 138,95 TO 147,83 TO 150,74 TO 152,64
205 HPLOT 152,64 TO 150,57 TO 146,54 TO 143,53 TO 137,55 TO 130,61 TO 132,56 TO 132,50 TO 129,50
210 HPLOT 136,78 TO 133,72 TO 130,70 TO 123,73
215 HPLOT 115,70 TO 114,64 TO 113,63 TO 106,67
220 HPLOT 111,103 TO 117,100 TO 122,94 TO 125,87 TO 123,79 TO 120,79 TO 114,81 TO 111,87 TO 109,94 TO 107,99
225 HPLOT 103,94 TO 105,90 TO 108,85 TO 110,74 TO 106,71 TO 102,74 TO 99,81 TO 97,87 TO 98,92
230 HPLOT 123,89 TO 121,89 TO 118,90 TO 115,94 TO 116,100
235 HPLOT 108,80 TO 106,81 TO 103,85 TO 102,88 TO 105,93
240 GOSUB 5000
244 REM ***** DRAW BOX *****
245 W = 0: HGR
250 W = W +1:TRY = 0
255 IF W = 12 THEN 240
260 IF Q = 1 THEN 340
265 A = INT(7 * RND(1)) +1
270 IF A = 4 THEN 265
275 FOR I = 10 TO 139 STEP 2
280 HCOLOR= A
285 HPLOT 50,I TO 60,I
290 NEXT
295 FOR I = 140 TO 145 STEP 2
300 HPLOT 50,I TO 220,I
305 NEXT
310 FOR I = 144 TO 10 STEP -2
315 HPLOT 220,I TO 230,I
320 NEXT
325 FOR I = 10 TO 15 STEP 2
330 HPLOT 220,I TO 60,I
335 NEXT
340 B = INT(7 * RND(1)) +1
345 IF B = 4 THEN 340
350 FOR I = 9 TO 140 STEP 2
355 HCOLOR= B
360 HPLOT 50,I TO 60,I
365 NEXT
370 FOR I = 141 TO 145 STEP 2
375 HPLOT 50,I TO 220,I
380 NEXT
385 FOR I = 145 TO 9 STEP -2
390 HPLOT 220,I TO 230,I
395 NEXT
400 FOR I = 9 TO 14 STEP 2
405 HPLOT 220,I TO 60,I
410 NEXT
415 Q = 1
420 E = INT(3 * RND(1)) +1
425 ON E GOTO 1000,2000,3000
999 REM SPIN NUMBER ONTO SCREEN
1000 HCOLOR= 3: SCALE= 1:M = 10
1005 FOR R = 0 TO 64 STEP 16
1010 ROT= R
1015 M = M +25
1020 SO = PEEK(SN) - PEEK(SN) - PEEK(SN) - PEEK(SN)
1025 XDRAW A(W) AT M,79
1030 FOR T = 1 TO 150: NEXT T
1035 SO = PEEK(SN) - PEEK(SN)
1040 XDRAW A(W) AT M,79
1045 NEXT R
1050 SO = PEEK(SN) - PEEK(SN) - PEEK(SN)
1055 DRAW A(W) AT 139,79
1060 GOSUB 6000
1065 XDRAW A(W) AT 139,79: GOTO 250
1999 REM RUN NUMBER ONTO SCREEN
2000 HCOLOR= 3: ROT= 0: SCALE= 1
2005 FOR I = 265 TO 139 STEP -15
2010 SO = PEEK(SN) - PEEK(SN)
2015 XDRAW A(W) AT I,79
2020 NEXT
2025 FOR I = 265 TO 139 STEP -15
2030 SO = PEEK(SN) - PEEK(SN)
2035 XDRAW A(W) AT I,79
2040 NEXT
2045 SO = PEEK(SN) - PEEK(SN)
2050 DRAW A(W) AT 139,79
2055 GOSUB 6000
2060 XDRAW A(W) AT 139,79: GOTO 250
2999 REM POP NUMBER ONTO SCREEN
3000 HCOLOR= 3: SCALE= 1: ROT= 0
3005 FOR I = 1 TO 5
3010 X = INT(200 * RND(1)) +20
3015 Y = INT(100 * RND(1)) +20
3020 XDRAW A(W) AT X,Y
3025 SO = PEEK(SN) - PEEK(SN) - PEEK(SN) - PEEK(SN) - PEEK(SN) - PEEK(SN)
3030 FOR T = 1 TO 150: NEXT T
3035 XDRAW A(W) AT X,Y
3040 SO = PEEK(SN) - PEEK(SN) - PEEK(SN) - PEEK(SN) - PEEK(SN) - PEEK(SN)
3045 NEXT I
3050 DRAW A(W) AT 139,79
3055 SO = PEEK(SN) - PEEK(SN)
3060 GOSUB 6000
3065 XDRAW A(W) AT 139,79: GOTO 250
3999 REM SHOW HGR2 WITH OR WITHOUT MUSIC
4000 POKE -16302,0: POKE -16299,0
4005 IF Z$ = "N" THEN 4070
4010 POKE 768,193: POKE 769,150: CALL 770
4015 POKE 768,193: POKE 769,50: CALL 770
4020 POKE 768,193: POKE 769,175: CALL 770
4025 POKE 768,193: POKE 769,150: CALL 770
4030 POKE 768,193: POKE 769,50: CALL 770
4035 POKE 768,193: POKE 769,175: CALL 770
4040 POKE 768,153: POKE 769,100: CALL 770
4045 POKE 768,193: POKE 769,80: CALL 770
4050 POKE 768,172: POKE 769,80: CALL 770
4055 POKE 768,199: POKE 769,100: CALL 770
4060 POKE 768,193: POKE 769,100: CALL 770
4065 POKE -16302,0: POKE -16300,0: RETURN
4070 FOR I = 0 TO 2000: NEXT : POKE -16302,0: POKE -16300,0: RETURN
4999 REM * SHUFFLE NUMBERS *
5000 HGR : GR : HOME : HTAB 10: VTAB 22: PRINT "SHUFFLING THE NUMBERS"
5005 FOR C = 1 TO 11:A(C) = 0: NEXT C
5010 FOR D = 1 TO 11
5015 N = INT(11 * RND(1)) +1
5020 FOR F = 1 TO 11: IF A(F) = N THEN 5015
5025 COLOR= N:X = INT(39 * RND(1)):Y = INT(39 * RND(1)): PLOT X,Y
5030 SO = PEEK( -16336): NEXT F
5035 A(D) = N: NEXT D
5040 GR : HOME :Q = 0: RETURN
5999 REM KEYBOARD INPUT ROUTINE
6000 IF A(W) = 11 THEN 6045
6005 GET A$:A = ASC(A$): IF A = 43 THEN TEXT : HOME : VTAB 12: HTAB 15: PRINT "SEE YOU SOON": END
6010 IF (A <48) OR (A >57) THEN 6005
6015 A = VAL(A$): IF A < >A(W) -1 THEN 6030
6020 GOSUB 4000
6025 RETURN
6030 FOR I = 0 TO 100:SO = PEEK( -16336): NEXT I
6035 TRY = TRY +1: IF TRY = G THEN RETURN
6040 GOTO 6000
6045 GET A$:A = ASC(A$): IF A = 43 THEN TEXT : HOME : VTAB 12: HTAB 15: PRINT "SEE YOU SOON": END
6050 IF (A <48) OR (A >57) THEN 6045
6055 GET B$:B = ASC(B$): IF (B <48) OR (B >57) THEN 6055
6060 A = VAL(A$):B = VAL(B$): IF (A = 1) AND (B = 0) THEN 6070
6065 GOTO 6030
6070 GOSUB 4000
6075 RETURN